# _*_ coding : utf-8 _*_
# @Time: 2024/10/29 15:01
# @Author : 石文帅	
# @File : testcase08_1防火检查站.py
# @Project : python_slfh

from server.slfhWorkbench import *
from selenium.webdriver.chrome.service import Service
from xpathDictionary.slfhXpath import *


class test(unittest.TestCase):

    @classmethod
    def setUpClass(cls):
        cls.wd = webdriver.Chrome(service=Service(driver_path))
        cls.wd.get(url_path)
        cls.wd.maximize_window()
        login(cls.wd)

    @classmethod
    def tearDownClass(cls):
        element_exist_click(cls.wd, resources['新增编辑-资源地图取消'], 1)
        element_exist_click(cls.wd, device['防火检查站-新增编辑提交取消'], 1)
        log.info('搜索自动化测试的内容，并且删除')
        fireCheckpoint_search(cls.wd, name='自动化测试')
        fireCheckpoint_del(cls.wd, resource_name='自动化测试')

        cls.wd.quit()
        log.info('----------------------------------------------------------')

    def testcase08_1防火检查站(self):
        """
        防火检查站
        :return:
        """
        log.info('testcase08_1防火检查站')
        search_menu(self.wd, '物防设施')
        log.info('开始进入-防火检查站')
        locate_click(self.wd, device['防火检查站-table'])
        assert_select_menu(self.wd, '物防设施', '防火检查站')

        log.info('检查站名称搜索测试')
        fireCheckpoint_search(self.wd, name='新导入检查点2')
        if element_exist(self.wd, device['防火检查站-列表']):
            assert_str_in_elements(self.wd, '新导入检查点2', device['防火检查站-列表名称列'])

        log.info('检查站建筑类型搜索测试')
        fireCheckpoint_search(self.wd, type='标准检查站')
        if element_exist(self.wd, device['防火检查站-列表']):
            assert_str_elements(self.wd, '标准检查站', device['防火检查站-列表建筑类型列'])

        fireCheckpoint_search(self.wd, type='简易检查站')
        if element_exist(self.wd, device['防火检查站-列表']):
            assert_str_elements(self.wd, '简易检查站', device['防火检查站-列表建筑类型列'])

        fireCheckpoint_search(self.wd, type='卡点检查站')
        if element_exist(self.wd, device['防火检查站-列表']):
            assert_str_elements(self.wd, '卡点检查站', device['防火检查站-列表建筑类型列'])

        log.info('检查站状态搜索测试')
        fireCheckpoint_search(self.wd, state='启用')
        if element_exist(self.wd, device['防火检查站-列表']):
            assert_str_elements(self.wd, '启用', device['防火检查站-列表状态列'])

        fireCheckpoint_search(self.wd, state='停用')
        if element_exist(self.wd, device['防火检查站-列表']):
            assert_str_elements(self.wd, '停用', device['防火检查站-列表状态列'])

        log.info('检查站审核状态搜索测试')
        fireCheckpoint_search(self.wd, audit_status='待审核')
        if element_exist(self.wd, device['防火检查站-列表']):
            assert_str_elements(self.wd, '待审核', device['防火检查站-列表审核状态列'])

        fireCheckpoint_search(self.wd, audit_status='审核通过')
        if element_exist(self.wd, device['防火检查站-列表']):
            assert_str_elements(self.wd, '审核通过', device['防火检查站-列表审核状态列'])

        fireCheckpoint_search(self.wd, audit_status='审核驳回')
        if element_exist(self.wd, device['防火检查站-列表']):
            assert_str_elements(self.wd, '审核驳回', device['防火检查站-列表审核状态列'])

        log.info('新增测试')
        locate_click(self.wd, device['防火检查站-新增'])
        fireCheckpoint_add_edit(self.wd, '广阳镇', '自动化测试防火检查站', '小帅', '广阳镇防火局', '13635491601', '1998', '卡点检查站',
                                '10', '250', '500', False, True, False, '建设规划', '备注123', '防火检查站正面图片1.png,防火检查站正面图片2.png',
                                '防火检查站侧面图片1.png', '视频1.mp4', '金开大道西段102号')
        locate_click(self.wd, device['防火检查站-新增编辑提交确定'])
        assert_true(element_exist(self.wd, resources['资源列表成功提示'], 10))

        log.info('搜索刚刚新增的：自动化测试防火检查站')
        fireCheckpoint_search(self.wd, name='自动化测试防火检查站', type='卡点检查站', state='停用', audit_status='审核通过')

        log.info('断言搜索的结果第一行数据')
        expect_list = ['广阳镇', '自动化测试防火检查站', '重庆市渝北区人和街道西郊汽车服务连锁光电园店', '106.494972\n29.623892', '广阳镇防火局', '小帅', '13635491601', '10',
                       '250', '卡点检查站', '停用', '审核通过']
        fireCheckpoint_search_assert(self.wd, expect_list)

        log.info('断言搜索的结果第一条-编辑里-回填的数据是否正确')
        log.info('点击编辑')
        locate_click(self.wd, device['防火检查站-编辑列'])
        expect_list = ['广阳镇', '自动化测试防火检查站', '小帅', '广阳镇防火局', '13635491601', '1998', '卡点检查站',
                       '10', '250', '500', '否', '是', '否', '建设规划', '备注123', '防火检查站正面图片1.png,防火检查站正面图片2.png',
                       '防火检查站侧面图片1.png', '视频1.mp4', '重庆市渝北区人和街道西郊汽车服务连锁光电园店']
        fireCheckpoint_edit_assert(self.wd, expect_list)

        log.info('测试-编辑防火检查站')
        fireCheckpoint_add_edit(self.wd, '南山植物园', '自动化测试防火检查站2', '小帅2', '广阳镇防火局2', '13635491602', '1999', '简易检查站',
                                '11', '251', '501', True, False, True, '建设规划1', '备注1231', '防火检查站正面图片3.png',
                                '防火检查站侧面图片1.png,防火检查站侧面图片2.png', '', '沙坪坝')
        locate_click(self.wd, device['防火检查站-新增编辑提交确定'])

        log.info('搜索刚刚编辑的的：自动化测试防火检查站2')
        fireCheckpoint_search(self.wd, name='自动化测试防火检查站2', type='简易检查站', state='启用', audit_status='审核通过')

        log.info('断言编辑后搜索的结果第一行数据')
        expect_list = ['南山植物园', '自动化测试防火检查站2', '重庆市沙坪坝区渝碚路街道情桥', '106.458717\n29.559801', '广阳镇防火局2', '小帅2',
                       '13635491602', '11',
                       '251', '简易检查站', '启用', '审核通过']
        fireCheckpoint_search_assert(self.wd, expect_list)

        log.info('断言编辑后搜索的结果第一条-编辑里-回填的数据是否正确')
        log.info('点击编辑')
        locate_click(self.wd, device['防火检查站-编辑列'])
        expect_list = ['南山植物园', '自动化测试防火检查站2', '小帅2', '广阳镇防火局2', '13635491602', '1999', '简易检查站',
                       '11', '251', '501', '是', '否', '是', '建设规划1', '备注1231', '防火检查站正面图片3.png',
                       '防火检查站侧面图片1.png,防火检查站侧面图片2.png', '', '重庆市沙坪坝区渝碚路街道情桥']
        fireCheckpoint_edit_assert(self.wd, expect_list)
        locate_click(self.wd, device['防火检查站-新增编辑提交取消'])